package com.example.springBoot.controller;

import java.util.Map;

import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.example.springBoot.common.BaseController;
import com.example.springBoot.common.ReturnJson;
import com.example.springBoot.dao.ArticleTypeDao;
import com.example.springBoot.domain.ArticleType;

@Controller
public class IndexController extends BaseController {

	@Autowired
	private ArticleTypeDao articleTypeDao;
	
	/**
	* Title: index
	* Description: 进入系统首页方法
	* date: 2017年11月21日
	* @return 首页
	*/
	@RequestMapping("/")
	public String index() {
		return "index";
	}
	
	@RequestMapping("/articlelist")
	public String articlelist(){
		return "newlist";
	}
	/**
	* Title: newdetail
	* Description: 进入文章详细页方法
	* date: 2017年11月21日
	* @param id 文章id
	* @param map 返回页面map
	* @return 返回详细页
	*/
	@RequestMapping("/newdetail/{id}")	
	public String newdetail(@PathVariable Long id,Map<String,Object> map){
		map.put("id", id);
		return "newdetail";
	}

	/**
	* Title: admin
	* Description:进入后台方法
	* date: 2017年11月21日
	* @return 返回后台页
	*/
	@RequestMapping("/admin")
	public String admin() {
		return "/admin/index";
	}

	/**
	* Title: login
	* Description:进入后团管理用户登陆方法
	* date: 2017年11月21日
	* @return 返回后台登陆页面
	*/
	@RequestMapping("/login")
	public String login() {
		return "/admin/login";
	}

	/**
	* Title: loginout
	* Description: 后台管理员用户退出登录方法
	* date: 2017年11月21日
	* @param session 后台session
	* @return 返回json是否退出成功
	*/
	@RequestMapping("/loginout")
	@ResponseBody
	public ReturnJson loginout(HttpSession session) {
		session.removeAttribute("username");
		session.removeAttribute("userId");
		return new ReturnJson(true, "测试出现了一个错误");
	}

	/**
	* Title: error
	* Description:用户访问进入错误展示页面
	* date: 2017年11月21日
	* @return 返回错误展示页
	*/
	@RequestMapping("/404")
	public String error() {
		return "errors/404";
	}
	
	/**
	* Title: about
	* Description: 进入关于我页面
	* date: 2017年11月27日
	* @return
	 */
	@RequestMapping("/about")
	public String about(){
		return "about";
	}
	
	/**
	* Title: career
	* Description:进入职业生涯页面
	* date: 2017年11月27日
	* @return
	 */
	@RequestMapping("/career")
	public String career(){
		return "career";
	}
	
	/**
	* Title: allworks
	* Description: 进入展示所有作品页面
	* date: 2017年11月27日
	* @return
	 */
	@RequestMapping("/allworks")
	public String allworks(){
		return "works";
	}
	
	/**
	* Title: alltypeartile
	* Description: 根据文章类型ID获取该类型所有的文章
	* date: 2017年11月28日
	* @param typeid 违章类型ID
	* @param map 返回map集合
	* @return
	 */
	@RequestMapping("/alltypearticle/{typeid}")
	public String alltypearticle(@PathVariable Long typeid,Map<String,Object> map){
		map.put("typeid", typeid);
		ArticleType articleType = articleTypeDao.findById(typeid);
		map.put("typename",articleType.getTypeName());
		return "alltypearticle";
	}

}
